package com.ruoyi.customerSample.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 样品接收单据对象 sample_reception_bill
 * 
 * @author ruoyi
 * @date 2023-04-10
 */
@ApiModel("样品接收单据对象")
public class SampleReceptionBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** 样品单位 */
    @Excel(name = "样品单位")
    @ApiModelProperty(value = "样品单位")
    private String company;

    /** 联系方式 */
    @Excel(name = "联系方式")
    @ApiModelProperty(value = "联系方式")
    private String phone;

    /** 项目编号 */
    @Excel(name = "项目编号")
    @ApiModelProperty(value = "项目编号")
    private String itemNum;

    /** 单位地址 */
    @Excel(name = "单位地址")
    @ApiModelProperty(value = "单位地址")
    private String adress;

    /** 预计获取报告时间(工作日) */
    @Excel(name = "预计获取报告时间(工作日)")
    @ApiModelProperty(value = "预计获取报告时间(工作日)")
    private String reportTime;

    /** 送样人签字 */
    @Excel(name = "送样人签字")
    private String sender;

    /** 送样时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "送样时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "送样时间")
    private Date sendTime;

    /** 收样人签字 */
    @Excel(name = "收样人签字")
    private String receiver;

    /** 收样时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收样时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "收样时间")
    private Date receiveTime;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remarks;

    /** 状态 */
    @ApiModelProperty(value = "状态")
    private String state;

    /** 样品登记明细信息 */
    @ApiModelProperty(value = "样品登记明细信息")
    private List<SampleDetailBill> list;

    /** 样品明细根据类型分组 */
    @ApiModelProperty(value = "样品明细根据类型分组")
    private List<List<SampleDetailBill>> modelList;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setCompany(String company) 
    {
        this.company = company;
    }

    public String getCompany() 
    {
        return company;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setItemNum(String itemNum) 
    {
        this.itemNum = itemNum;
    }

    public String getItemNum() 
    {
        return itemNum;
    }
    public void setAdress(String adress) 
    {
        this.adress = adress;
    }

    public String getAdress() 
    {
        return adress;
    }
    public void setReportTime(String reportTime) 
    {
        this.reportTime = reportTime;
    }

    public String getReportTime() 
    {
        return reportTime;
    }
    public void setSender(String sender) 
    {
        this.sender = sender;
    }

    public String getSender() 
    {
        return sender;
    }
    public void setSendTime(Date sendTime) 
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime() 
    {
        return sendTime;
    }
    public void setReceiver(String receiver) 
    {
        this.receiver = receiver;
    }

    public String getReceiver() 
    {
        return receiver;
    }
    public void setReceiveTime(Date receiveTime) 
    {
        this.receiveTime = receiveTime;
    }

    public Date getReceiveTime() 
    {
        return receiveTime;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public List<SampleDetailBill> getList() {
        return list;
    }

    public void setList(List<SampleDetailBill> list) {
        this.list = list;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public List<List<SampleDetailBill>> getModelList() {
        return modelList;
    }

    public void setModelList(List<List<SampleDetailBill>> modelList) {
        this.modelList = modelList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("company", getCompany())
            .append("phone", getPhone())
            .append("itemNum", getItemNum())
            .append("adress", getAdress())
            .append("reportTime", getReportTime())
            .append("sender", getSender())
            .append("sendTime", getSendTime())
            .append("receiver", getReceiver())
            .append("receiveTime", getReceiveTime())
            .append("remarks", getRemarks())
            .toString();
    }
}
